Generating a comfort indicator at an originating terminal

ABSTRACT

A call request is sent to establish a telephony session over an Internet Protocol (IP) network between an originating terminal and a destination device. A message responsive to the call request is received from a node connected to the IP network. In response to receiving the message, local generation of a comfort indicator at the 5 originating terminal is performed.

CROSS-REFERENCE TO RELATED APPLICATION

This a continuation of U.S. application Ser. No. 11/388,379, filed Mar.24, 2006, which claims the benefit under 35 U.S.C. §119(e) of U.S.Provisional Application Ser. No. 60/664,866, filed Mar. 24, 2005, theentire contents of each of which is fully incorporated herein byreference.

TECHNICAL FIELD

The invention relates generally to locally generating a comfortindicator at an originating terminal.

BACKGROUND

Packet data networks, including wired networks and/or wireless networks,are used to link various types of network devices, such as personalcomputers, network telephones, mobile telephones, personal digitalassistants (PDAs), and so forth. A widely used type of packet datanetwork is the Internet Protocol (IP) network, in which datacommunications are performed using packets or datagrams.

With the increased capacity and reliability of packet data networks,voice communications (including telephone calls, video conferencing, andso forth) over such packet data networks have been implemented. Voicecommunications over packet data networks are unlike voice communicationsin a conventional circuit-switched network (such as a public switchedtelephone network), in which users are provided dedicated end-to-endcircuit connections for the duration of each call. In a packet datanetwork, voice data is carried in packets or datagrams that are sent inbursts from a source to one or more destination nodes. Voice data thatis sent over a packet data network typically shares network bandwidthwith conventional non-voice data, such as data associated withelectronic mail, web access, file transfer, text chat sessions, and soforth.

Various standards have been proposed for establishing voice andmultimedia communications over packet data networks. One examplestandard that defines control signaling used for establishing voice andmultimedia communications is the Session Initiation Protocol (SIP),which defines messaging for establishing, controlling, and terminatingmultimedia sessions over a packet data network, such as an IP network.SIP is part of a multimedia data and control architecture developed bythe Internet Engineering Task Force (IETF). In packet-switched wirelessnetworks, the Third Generation Partnership Project (3GPP) and 3GPP2 havedefined standards for SIP call flows. Other organizations have alsodefined SIP call flows for use in wired and/or wireless networks.

SIP is a text-based protocol that defines SIP messages having a textformat, which tends to make SIP messages relatively large in size. As aresult, the increased time involved in communicating SIP messages maycause call setup times to become longer. In addition to larger SIPmessage sizes, another cause of relatively long call setup times is thatmore SIP messages are involved in establishing a call session(particularly when extra messages are sent to provide reliability) thanhas been traditionally the case in circuit-switched networks.

As a result of a relatively long call setup time, there may be excessivedelay between when a caller starts a call (such as by activating the“Send” button on a phone or completion of dialing digits) and when thecaller receives an indication of ringing (ringback that indicates thatthe called party is being alerted). The interval between the time acaller starts a call and the time when ringback is received by thecaller is referred to as post dial delay (PDD). Excessive PDD can causeuser dissatisfaction. In some cases, a user may simply hang up if thereis excessive PDD, since the user may incorrectly believe that the callhas been dropped when in fact call establishment is proceeding in thepacket data network among various nodes.

SUMMARY

In general, according to one embodiment, a method comprises sending acall request to establish a telephony session over an Internet Protocol(IP) network between an originating terminal and a destination device,and receiving a message responsive to the call request from a nodeconnected to the IP network. In response to receiving the message, localgeneration of a comfort indicator at the originating terminal isperformed.

Other or alternative features will become apparent from the followingdescription, from the drawings, and from the claims.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of an example communications network thatincorporates an embodiment of the invention.

FIG. 2 is a message flow diagram of a process of establishing a callsession in which a comfort indicator is provided to an originatingterminal, in accordance with an embodiment.

DETAILED DESCRIPTION

In the following description, numerous details are set forth to providean understanding of the present invention. However, it will beunderstood by those skilled in the art that the present invention may bepracticed without these details and that numerous variations ormodifications from the described embodiments may be possible.

FIG. 1 illustrates an example communications network that includes awireless network 100 that is connected to a packet data network 102.Although reference is made to a “packet data network,” it is to beunderstood that “packet data network” can actually refer to one orplural packet data networks that are coupled by one or more intermediaterouters. For example, the packet data network 102 can actually includevarious different types of networks, such as local area networks (LANs),wide area networks (WANs), wireless local area networks (WLANs), and soforth. The wireless network 100 is a packet-switched wireless network inwhich packet-switched communications can be performed (e.g.,packet-switched telephony, web browsing, electronic mail, file transfer,and so forth).

The wireless network 100 allows a mobile terminal 104 to communicatewith network devices on the packet data network 102, such as a terminaldevice 106. The terminal device 106 can be an end user device (such as anetwork telephone, voice-enabled personal computer, or voice-enabledpersonal digital assistant), or alternatively, the terminal device 106can be a media gateway that connects the packet data network 102 to acircuit-switched network such as the public switched telephone network(PSTN) or a circuit-switched wireless network. Instead of or in additionto the terminal device 106, a second packet-switched wireless networkcan be connected to the packet data network 102 such that the mobileterminal 104 in the wireless network 100 can communicate through thepacket data network 102 to another mobile terminal in the secondwireless network.

The arrangement of FIG. 1 is provided for purposes of example, sincenumerous other arrangements are possible in other embodiments. Forexample, the wireless network 100 can be omitted and replaced with auser device (such as a network telephone, a voice-enabled personalcomputer, or a voice-enabled personal digital assistant) that is able toestablish a packet-switched telephony call session with the terminaldevice 106 (or other terminal devices).

In accordance with some embodiments, the mobile terminal 104 (or otheruser terminal) is able to establish a packet-switched telephony callsession with the terminal device 106 (or with another terminal device onthe packet data network 102). A packet-switched telephony call sessionrefers to a communications session in which voice data (and possiblyother real-time data such as video data) is exchanged between the twoend terminals, where the voice data (and/or other real-time data) isencapsulated in packets that are communicated through the packet datanetwork 102 and through various access networks (such as the wirelessnetwork 100).

An example protocol that provides for packet-switched communications isthe Internet Protocol (IP). IPv4 (IP version 4) is defined in Requestfor Comments (RFC) 791, entitled “Internet Protocol,” dated September1981; and IPv6 (IP version 6) is described in RFC 2460, entitled“Internet Protocol, Version 6 (IPv6) Specification,” dated December1998. In the EP context, a packet-switched telephony call session isreferred to as a “voice-over-IP call session” or “telephony-over-IP callsession.” A packet data network that communicates IP packets is referredto as an IP network.

Various standards exist that define control signaling to be used forestablishing, controlling, and terminating packet-switched telephonycall sessions between end devices coupled to the packet data network102. One example standard is the Session Initiation Protocol (SIP). Thebase version of SIP is defined in RFC 3261, entitled “SIP: SessionInitiation Protocol,” dated June 2002. Extensions of SIP are defined inother documents, such as RFC 3262, entitled “Reliability of ProvisionalResponses in the Session Initiation Protocol (SIP),” dated June 2002;and RFC 3311, entitled “The Session Initiation Protocol (SIP) UPDATEMethod,” dated September 2002.

Other standards have also been proposed for defining control signalingfor packet-switched telephony call sessions. One such other standard isthe H.323 Recommendation from the International Telecommunications Union(ITU).

Alternatively, proprietary signaling protocols can be used forestablishing, controlling, and terminating packet-switched callsessions, including versions of SIP that include proprietary messages.In the context of the present application, reference to “SIP” refers tostandard SIP, extensions of SIP, as well as any modified versions ofSIP, whether proprietary or public.

SIP messages have a text format, which tends to make SIP messagesrelatively large in size. Also, to provide for enhanced reliability,there may be a relatively large number of SIP messages exchanged betweenan originating terminal and a destination device when establishing apacket-switched telephony call session. Consequently, in some cases,post dial delay associated with packet-switched telephony call sessionestablishment can be quite large. The post dial delay is the interval oftime between a caller starting a call session, such as by activating a“Send” button, completing the dialing of telephone number digits, oractivating a control element in a graphical user interface (GUI), andthe time when the originating terminal generates a ringback indicator. Aringback indicator refers to a ringing indication (or other indication)that indicates the destination device is being alerted or is in theprocess of being alerted. The destination device is “being alerted” whenthe destination device (or network infrastructure associated with thedestination device) either (1) has provided the alert to the calledparty, or (2) is in the process of causing the alert to be generated, inresponse to a call request from the originating terminal.

In accordance with some embodiments, to enhance user experience andsatisfaction and to avoid a user prematurely ending a call by hanging upwhen the user does not hear a ringback indicator for some post dialdelay, a comfort indicator is provided at the originating terminal sothat the caller is aware that call establishment is proceeding. Thecomfort indicator is generated locally at the originating terminal (1)after a call request has been transmitted by the originating terminalfor establishing a packet-switched telephony call session, and (2) inresponse to receiving a message responsive to the call request from anode connected to the packet data network 102. In accordance with someembodiments, the comfort indicator can be an audio indicator, such assome predefined tone, chirp, voice announcement, and so forth.Alternatively, the comfort indicator can also be a visual indicator(which can be in place of the audio indicator or in addition to theaudio indicator).

More generally, a “comfort indicator” refers to any type of indicatorprovided to a user at the originating terminal to indicate to the callerthat call establishment is proceeding, where this comfort indicator isdifferent from a ringback indicator that indicates that the destinationdevice is being alerted in response to the call request. In other words,the comfort indicator is presented by the originating terminal duringthe time interval (corresponding to the post dial delay) betweenstarting of the call session and receipt of a message that indicatesthat the destination terminal is being alerted. In accordance with someembodiments, the comfort indicator is generated “locally” at theoriginating terminal. Local generation of the comfort indicator meansthat the comfort indicator is originally generated by a component in theoriginating terminal, without any exchange of media or bearer data in amedia or bearer path between the originating terminal and anotherterminal. Media or bearer data refers to actual traffic (audio and/orother real-time data) exchanged between nodes. A media or bearer pathrefers to a path through a network (e.g., packet data network 102 and/orwireless network 100) to communicate the media or bearer data. The terms“media” and “bearer” are used interchangeably in this discussion.

Not having to establish a media or bearer path with the originatingterminal to provide the comfort indicator provides the benefit of nothaving to deal with the complexities of establishing a media or bearerpath and switching that media or bearer path to a different media orbearer path once the call session has been successfully completed. Also,not having to establish a media or bearer path for presenting thecomfort indicator reduces consumption of network resources, such asresources in the wireless network 100 and/or packet data network 102.

As further depicted in FIG. 1, the mobile terminal 104 performs wirelesscommunications (e.g., radio frequency communications) with an accesspoint (AP) 108. The access point 108 (sometimes referred to as a basetransceiver station) is part of a cell segment (either a cell or a cellsector). The wireless network 100 includes multiple cell segments inwhich mobile terminals can communicate with respective access pointsover radio frequency (RF) links.

The access point 108 is coupled to a radio network controller (RNC) 110(sometimes referred to as a base station controller or BSC). In someimplementations, the wireless network 100 is a CDMA 2000 network, suchas a IxRTT network or a 1xEVDO or 1xEVDV network. Other types ofnetworks, such as UMTS (Universal Mobile Telecommunications System)networks can also be employed in other implementations. The RNC 110supports packet-switched communications in which packet data iscommunicated between the mobile terminal 104 and another endpoint. TheRNC 110 is coupled to a packet data serving node (PDSN) 112. The RNC 110supports packet data services through the PDSN 112, which in turn isconnected to the packet data network 102. Call establishment using SIPin packet-switched wireless networks has been defined by 3GPP (for UMTSnetworks) and 3GPP2 (for CDMA 2000 networks).

FIG. 1 also depicts a first proxy/control function module 114. The firstproxy/control function module 114 includes a proxy component that makesrequests on behalf of a client, such as the mobile terminal 104 when themobile terminal 104 is involved in establishing a packet-switchedtelephony call session (either as an originator or a destination). Thecontrol function aspect of the module 114 provides session control toenable clients such as the mobile terminal 104 to access services in aparticular network. An example of the proxy/control function module 114is the call session control function (CSCF) module that is part of theIP multimedia subsystem (IMS) architecture. Note that there can beseveral types of CSCF modules, including a proxy CSCF, an interrogatingCSCF, and a serving CSCF. The proxy/control function module 114 canrefer to any one of or some combination of these CSCFs. In otherimplementations, the proxy/control function module 114 can be othertypes of control modules involved in call establishment involving themobile terminal 104.

FIG. 1 also depicts a second proxy/control function module 116 that issimilar to the first proxy/control function module 114, except that thesecond proxy/control function module 116 is associated with the terminaldevice 106 (instead of with mobile terminal 104). In an example wherethe mobile terminal 104 is the originating terminal, and the terminaldevice 106 is the destination terminal, the first proxy/control functionmodule 114 is considered the originating proxy/control function module,while the second proxy/control function module 116 is considered thedestination proxy/control function module. More generally, theproxy/control function modules can be simply referred to as “callcontrol function modules.”

The mobile terminal 104 has a display 120 and an audio speaker 122 (aswell as a microphone, not shown). In accordance with some embodiments,the audio speaker 122 is used for outputting an audio comfort indicator,while the display 120 can be used for displaying a visual comfortindicator. The display 120 and the audio speaker 122 are examples of anoutput device that is used to present the comfort indicator. The mobileterminal 104 also includes a controller 124 and a storage 126. Thecontroller 124 is used for controlling various functions of the mobileterminal 104. The controller 124 can be implemented with various typesof control devices, such as microcontrollers, microprocessors, digitalsignal processors, and so forth. The storage 126 is used for storingdata and instruction code that can be executed on the controller 124.

The terminal device 106 similarly includes a controller 128 and astorage 130. If the terminal device 106 is an end user device, then theterminal device 106 also includes an audio speaker 132 for outputtingaudio signals, such as an alert signal (when a call is made to theterminal device). If the terminal device 106 is a media gateway (ratherthan an end user terminal), then the audio speaker 132 is not includedin the terminal device 106, but rather the terminal device 106 providessome indication to a remote end user device to generate an alert.

Local generation of a comfort indicator at the mobile terminal 104 canbe accomplished using one of several different techniques, in accordancewith some embodiments. A first technique involves changing theinterpretation of an existing message that is received by the mobileterminal 104 in response to a call request. In other words, the mobileterminal 104 is programmed to interpret an existing message as thetrigger for locally generating the comfort indicator at the mobileterminal 104. The existing message is unmodified from a standard message(as defined by a protocol such as SIP).

According to a second technique, the content of an existing message canbe modified to include one or more special fields (not defined by aprotocol such as SIP) that are used to trigger local generation of thecomfort indicator. The one or more special fields can include a flag toindicate to the mobile terminal 104 that local generation of the comfortindicator is to occur. Also, the one or more special fields of themessage can be used to specify the type of comfort indicator (e.g.,different types of audio tones or visual indicators) to use.

A third technique for causing generation of the comfort indicator is todefine a new message that is sent by a node (such as one of the callcontrol function modules 114 and 116) to indicate to the mobile terminal104 that local generation of the comfort indicator is to be performed.

Although local generation of a comfort indicator at the mobile terminal104 is described, it is noted that local generation of a comfortindicator according to some embodiments can be performed with othertypes of originating terminals, such as voice-enabled computers,voice-enabled PDAs, network telephones, and so forth.

FIG. 2 illustrates a flow diagram for establishing a packet-switchedtelephony call session according to some embodiments. The flow diagramof FIG. 2 involves the communication of SIP messages among variousnodes, including an originating terminal (e.g., mobile terminal 104), adestination device (e.g., terminal device 106), and the call controlfunction modules 114, 116. In a different scenario, one or both of thecall control function modules 114, 116 can be omitted. Also note thatvarious messages that are typically exchanged are omitted in FIG. 2 forthe purpose of better clarity.

Reference is made herein to the originating terminal and destinationdevice sending messages to or receiving messages from each other. Notethat the terms “to” and “from” are used to indicate direct or indirectsending or receipt of messages between the originating terminal anddestination device. For example, the originating terminal can send amessage to the destination device either directly or indirectly throughintermediate nodes such as modules 114 and 116.

To initiate the packet-switched telephony call session, the originatingterminal transmits (at 202) a SIP Invite message to the originating callcontrol function module 114. The Invite message is a call request toindicate that the destination device is being invited to participate inthe call session. The message body of the Invite message contains adescription (e.g., in SDP or Session Description Protocol format) of thesession to which the destination device is being invited. If otherprotocols are used for call establishment, then other types of callrequests are used.

The Invite message is sent by the originating terminal in response touser activation of some call control element at the originating terminal(such as a “Send” button, completion of dialing of digits correspondingto a called telephone number, activation of a graphical user interface(GUI) element indicating initiation of a call request, and so forth).There can be some amount of post dial delay between activation of thiscall control element and the provision of a ringback indicator to theoriginating terminal. During the post-dial-delay interval, in accordancewith some embodiments, a comfort indicator is locally generated (at 206)at the originating terminal in response to a message from a nodeconnected to the packet data network 102. The message can be one ofseveral types of messages, such as those discussed above (unmodifiedexisting message, modified existing message, or new message).

One example message is a SIP 100 Trying message sent (at 204) from theoriginating call control function module 114 to the originatingterminal. The “Trying” message is sent from the call control functionmodule 114 to the originating terminal in response to the Invite messagesent at 202. The SIP 100 Trying message indicates that some unspecifiedaction is being taken on behalf of this call request (Invite), but thatthe destination terminal has not yet been located. In response to theSIP Trying message, the originating terminal locally generates (at 206)the comfort indicator. The SIP 100 Trying message that is used fortriggering the generation of the comfort indicator at 206 can be anunmodified SIP 100 Trying message or a modified SIP 100 Trying messagethat has one or more special fields relating to generation of thecomfort indicator.

As further depicted in FIG. 2, upon receiving the Invite message at 202,the call control function module 114 sends (at 208) an Invite message tothe destination call control function module 116, which in turntransmits (at 210) an Invite message to the destination device.

In accordance with an alternative embodiment, upon receiving the Invitemessage (at 208) from the originating call control function module 114,the destination call control function module 116 can send (at 212) a newmessage back to the originating terminal for the purpose of causinglocal generation (at 206) of the comfort indicator.

This new message can either be defined outside of SIP or can be anextension of the current version of SIP. The new message sent from thedestination call control function module 116 to the originating terminalcan specify a flag to indicate that local generation of the comfortindicator is to be performed, and optionally, the new message canspecify the type of comfort indicator to generate. The new message sentat 212 can replace the 100 Trying message as the message that triggerslocal generation of the comfort indicator at the originating terminal.

Alternatively, instead of using either the 100 Trying message (at 204)or the new message (at 212), another existing SIP message can be usedfor causing local generation of the comfort indicator at the originatingterminal. One such alternative message is the SIP 183 Progress message.The 183 Progress message (a session progress message) is used to conveyinformation about the progress of the call that is not otherwiseclassified. A 183 Progress message is sent (at 214) from the destinationdevice to the destination call control function module 116, which inturn sends (at 215) a 183 Progress message to the originating callcontrol function module 114. In response the 183 Progress message, theoriginating call control function module 114 sends (at 216) a 183Progress message to the originating terminal. In response to the 183Progress message, the originating terminal locally generates (at 206)the comfort indicator.

In other embodiments, other types of messages can be employed to triggerthe local generation of the comfort indicator at 206 by the originatingterminal. Note that the comfort indicator generated by the originatingterminal is performed locally, and is not based on establishment of amedia or bearer path between the originating terminal and another nodeconnected to the packet data network 102. By not having to establish amedia or bearer path with the originating terminal over the packet datanetwork 102 for providing the comfort indicator at 206, more efficientusage of the packet data network resources and wireless networkresources is achieved and less complexity is involved.

The remaining portions of the message flow diagram depicted in FIG. 2are provided to illustrate an example of why there can be a relativelylarge post dial delay between initiation of a call and receipt of amessage to allow ringback to occur. Note that the exchange of messagesperformed in FIG. 2 is provided for purposes of example, as differentcall flows will use different combinations of messages.

In the example of FIG. 2, receipt of the 183 Progress message (at 216)is an indication to the originating terminal that reservation of localresources (at 218) can be started. Reservation of local resources refersto allocation of resources to enable the originating terminal toexchange bearer data over a bearer path. For example, in the context ofthe wireless network 100, the local resources reserved include RFresources and other wireless network-related resources. In a wiredenvironment, reservation of wired network resources is performed. Otherlocal resources that can be reserved include resources reserved based onactivation of a packet data protocol (PDP) context (primary PDP contextand/or secondary PDP context) and reservation of QoS (quality ofservice). Reservation of the local resources at 218 ensures that oncecall establishment has completed, the originating terminal has access toresources to enable the originating terminal to exchange bearer data.

In response to the 183 Progress message, the originating terminal sends(at 220) a Prack (Provisional acknowledgment) message to the destinationdevice for reliability purposes. Although the Prack message at 220 isshown as being routed directly from the originating terminal to thedestination device, it is noted that the Prack message actually is firstsent from the original terminal to the originating call control functionmodule 114, followed by the originating call control function module 114sending a Prack message to the destination call control function module116, and followed by the destination call control function module 116sending a Prack message to the destination device. The remainingmessages of FIG. 2 are similarly depicted as flowing directly betweenthe originating terminal and destination device, when in actuality themessages are routed through the call control function modules 114, 116.

At the destination device, the Prack message can be used as anindication to start the reservation of local resources (at 228) at thedestination device. Alternatively, reservation of local resources at thedestination device can be started in response to the destination devicesending (at 214) the 183 Progress message. The destination deviceacknowledges the Prack message by sending an OK message (at 222) back tothe originating terminal.

Once reservation of local resources has been completed at theoriginating terminal (originating resources confirmed at 219), theoriginating terminal sends (at 224) a SIP Update message to thedestination device. The SIP Update message allows a client (such as theoriginating terminal) to update parameters of a session (e.g., indicatethat resource reservation has completed). In response to the Updatemessage, the destination device sends (at 226) an OK message back to theoriginating terminal.

Once reservation of destination resources has been confirmed (at 229),the destination device sends a SIP 180 Ringing message (at 230) to theoriginating terminal. The Ringing message is an indication that thedestination device is alerting (at 235) the called party.

In response to the Ringing message received at 230, the originatingterminal generates (at 232) a ringback indicator. The originatingterminal also sends (at 234) a Prack message to the destination devicein response to the Ringing message received at 230. In response to Prackat 234, the destination device acknowledges the Prack message by sendinga first OK message (at 236). Next, when the called party answers (at237), the destination device acknowledges the Invite message by sending(at 238) an OK message to indicate that the call initiation based on theoriginal Invite message has succeeded. The originating terminal respondsby sending (at 239) a SIP ACK message. In response to the OK message at238, a bearer path can be established (at 240) between the originatingterminal and the destination device.

Note that there are a relatively large number of messages between whenthe Invite message was originally sent (at 202) and when the Ringingmessage is received (at 230). The interval between these two messagesgenerally defines the post dial delay. Without the comfort indicatorprovided at 206 (which continues during the post dial delay until theringback indicator is generated), a user may mistakenly believe thatcall establishment has failed and may hang up prior to receipt of theringback indicator at 232.

In an alternative embodiment, instead of an originating terminal that isan end user device such as the mobile terminal 104, the originatingterminal can instead be a media gateway coupled to the packet datanetwork 102.

Instructions of various software modules (e.g., software modulesexecuted in the mobile terminal 104 or terminal device 106 of FIG. 1 toperform the various tasks described herein) are loaded for execution oncorresponding processors (e.g., controller 124 or 128 in FIG. 1).Processors include microprocessors, microcontrollers, processor modulesor subsystems (including one or more microprocessors ormicrocontrollers), or other control or computing devices. As used here,a “control module” refers to hardware, software, or a combinationthereof. A “control module” can refer to a single component or to pluralcomponents (whether software or hardware).

Data and instructions (of the software) are stored in respective storagedevices (e.g., storage 126 or 130 in FIG. 1), which are implemented asone or more machine-readable or computer-readable storage media. Thestorage media include different forms of memory including semiconductormemory devices such as dynamic or static random access memories (DRAMsor SRAMs), erasable and programmable readonly memories (EPROMs),electrically erasable and programmable read-only memories (EEPROMs) andflash memories; magnetic disks such as fixed, floppy and removabledisks; other magnetic media including tape; and optical media such ascompact disks (CDs) or digital video disks (DVDs).

While some embodiments have been disclosed with respect to a limitednumber of embodiments, those skilled in the art will appreciate numerousmodifications and variations there from. It is intended that theappended claims cover such modifications and variations as fall withinthe true spirit and scope of the invention.

We claim:
 1. A communication device comprising: a user interface; and atleast one controller configured: to send a request to establish acommunication session over an Internet Protocol (IP) network between thecommunication device and a destination device; to receive a response tothe request from a node of the IP network; and in response to receivingthe message, before indicating alerting at the destination device andbefore completing establishment of a communication path over the IPnetwork to the destination device, to provide a comfort indication to auser via the user interface.
 2. The communication device of claim 1,wherein the comfort indication comprises an audible indication.
 3. Thecommunication device of claim 1, wherein the comfort indicationcomprises a visual indication.
 4. The communication device of claim 1,wherein the request to establish a communication session comprises aSession Initiation Protocol (SIP) message.
 5. The communication deviceof claim 1, wherein the response to the request comprises a SessionInitiation Protocol (SIP) message.
 6. The communication device of claim5, wherein the response to the request comprises a SIP Trying message.7. The communication device of claim 5, wherein the response to therequest comprises a SIP Progress message.
 8. The communication device ofclaim 1, wherein the response to the request is a modified SIP messagecomprising at least one field that is not defined by SIP.
 9. Thecommunication device of claim 1, wherein the controller is furtherconfigured: to receive a message indicating that alerting is beingperformed at the destination device; and to provide an alertingindication to the user via the user interface in response to themessage.
 10. The communication device of claim 9, wherein the controlleris configured to provide the comfort indication to the user via the userinterface in a time interval between sending of the request to establishthe communication session and providing of the alerting indication tothe user via the user interface.
 11. A non-transitory storage mediumcarrying instructions for execution by a controller of a communicationdevice having a user interface, the instructions comprising instructionsexecutable by the controller: to send a request to establish acommunication session over an Internet Protocol (IP) network between thecommunication device and a destination device; to receive a response tothe request from a node of the IP network; and in response to receivingthe message, before indicating alerting at the destination device andbefore completing establishment of a communication path over the IPnetwork to the destination device, to provide a comfort indication to auser via the user interface.
 12. The medium of claim 11, wherein thecomfort indication comprises an audible indication.
 13. The medium ofclaim 11, wherein the comfort indication comprises a visual indication.14. The medium of claim 11, wherein the request to establish acommunication session comprises a Session Initiation Protocol (SIP)message.
 15. The medium of claim 11, wherein the response to the requestcomprises a Session Initiation Protocol (SIP) message.
 16. The medium ofclaim 15, wherein the response to the request comprises a SIP Tryingmessage.
 17. The medium of claim 15, wherein the response to the requestcomprises a SIP Progress message.
 18. The medium of claim 11, whereinthe response to the request is a modified SIP message comprising atleast one field that is not defined by SIP.
 19. The medium of claim 1,wherein the instructions further comprise instructions executable by thecontroller: to receive a message indicating that alerting is beingperformed at the destination device; and to provide an alertingindication to the user via the user interface in response to themessage.
 20. The medium of claim 19, wherein the instructions furthercomprise instructions executable by the controller to provide thecomfort indication to the user via the user interface in a time intervalbetween sending of the request to establish the communication sessionand providing of the alerting indication to the user via the userinterface.